package com.cskaoyan.util;

import com.cskaoyan.bean.BaseRespVo;
import com.cskaoyan.exception.MarketInvalidParameterException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;

/**
 * @author stone
 * @date 2022/06/08 10:07
 */
public class ValidationUtils {
    public static BaseRespVo valid(BindingResult bindingResult) {
        if (bindingResult.hasFieldErrors()) {// 如果参数有错，则没通过校验
            FieldError fieldError = bindingResult.getFieldError();
            // 成员变量名 → 请求参数名
            String field = fieldError.getField();
            // rejectedValue
            Object rejectedValue = fieldError.getRejectedValue();
            // defaultMessage
            String defaultMessage = fieldError.getDefaultMessage();
            return BaseRespVo.invalidParameter(defaultMessage);
        }
        return null;
    }
    public static void valid2(BindingResult bindingResult) throws MarketInvalidParameterException {
        if (bindingResult.hasFieldErrors()) {// 如果参数有错，则没通过校验
            FieldError fieldError = bindingResult.getFieldError();
            // 成员变量名 → 请求参数名
            String field = fieldError.getField();
            // rejectedValue
            Object rejectedValue = fieldError.getRejectedValue();
            // defaultMessage
            String defaultMessage = fieldError.getDefaultMessage();
            throw new MarketInvalidParameterException(defaultMessage);
        }
    }
}
